【总结】浅谈 if 的用法
“if ... else ...”语句是我们遇到最简单的一种程序控制语句。 它只有两个分支,所以在实际使用的过程中基本不会有什么问题。 但是如果遇到多路分支的时候,如 if ... else if ... else if ... ... else ... 如果理解不到位,有时候就会有一点问题了。作者之前就遇到了一些问题,这里整理出来大家一起学习。
1、一个 if 一个 else:
x1if (条件 1)
2{
3 代码块 A;
4}
5
6else
7{
8 代码块 B;
9}
10
11代码块 C;
最简单的一种,A或B只会执行一个,然后执行C
2、多个 if 一个 else:
xxxxxxxxxx
161if (条件 1)
2{
3 代码块 A;
4}
5
6if (条件 2)
7{
8 代码块 B;
9}
10
11else
12{
13 代码块 C;
14}
15
16代码块 D;
如果条件1满足,则执行A,之后会从第二个if继续执行,因为第二个if和else组成了一个整体, 并且由于是第一个if之后的语句,所以不论条件1满不满足,都会执行B或者C的其中之一。(作者之前就是这里出了问题,以为上面的代码A、B、C中只会执行一个,也的确是一个比较隐蔽的错误。) 如果想要实现A、B、C只会执行一个的效果效果,即多分支,则需要if, else if, else if, … else if, else语句。
3、一个 if 若干 else if 一个 else:
xxxxxxxxxx
231if (条件 1)
2{
3 代码块 A
4}
5
6else if (条件 2)
7{
8 代码块 B
9}
10
11else if (条件 3)
12{
13 代码块 C
14}
15
16… …
17
18else
19{
20 代码块 Z
21}
22
23代码块 X
在这种结构中,所有的语 句都相关联,形成一个整体, 实现了多个平行分支效果:A,B,C … Z中只会有一个被执行,然后执行X。 不过这种情况下,如果你的条件表达式比较简单,还可以用“switch ... case...”语句来写:
xxxxxxxxxx
151switch (条件表达式)
2{
3 case 常量表达式1:
4 代码块1;
5 case 常量表达式1:
6 代码块2;
7 case 常量表达式1:
8 代码块3;
9 … …
10
11 case 常量表达式1:
12 代码块n;
13 default:
14 默认情况代码; // 类似else语句
15}